# -*- coding: utf-8 -*-
"""
Created on Wed Apr 26 10:17:03 2023

@author: 52224
"""
#=****连接B2200开关矩阵****=#
# import pyvisa
# rm=pyvisa.ResourceManager()
# B2200_address='GPIB0::22::INSTR'      # GPIB0::22::INSTR -> B2200的GPIB地址
# B2200=rm.open_resource(B2200_address)
# B2200.timeout=5000
# B2200.write('*RST')

#=***Setup_Path函数***=#
# 输入1：B2200的仪器变量
# 输入2：list_path连通地址，例如[401,511,709]代表IN4 - OUT01, IN5 - OUT11, IN7 - OUT9

#=***标准使用方法***=#
#1 Setup_Path(B2200,list_path)
#2 input() 等待开关矩阵设置完成后敲击回车
#3 Save_Path(B2200,n) 将设置存储在n位置
#4 循环1-3，存储完所有需要用到的开关矩阵设置，最多有9个（取决于配置）
#5 开始测试后，直接通过Load_Path(B2200,n)来调用存储于n位置的设置
# 相比于每次setup相应的开关矩阵通路，这种Save -> Load模式快很多
def Setup_Path(B2200,list_path):
    B2200.write(':ROUT:OPEN:CARD 0')
    list_path=str(list_path)[1:-1]
    B2200.write(':ROUT:CLOS (@'+list_path+')')
    return
def Save_Path(B2200,NO=1):
    B2200.write(':SYST:MEMO:SAVE '+str(NO))
    return
def Load_Path(B2200,NO=1):
    B2200.write(':SYST:MEMO:LOAD '+str(NO))
    return
def Del_Path(B2200,NO=1):
    B2200.write(':SYST:MEMO:DEL '+str(NO))
    return   